#pragma once
#include <string>
#include <vector>
#include <iostream>
#include <boost/algorithm/string.hpp>

namespace util
{
    class StringTool
    {
    public:
        static size_t Split(const std::string &prev, std::vector<std::string> *res, const std::string &sep, bool flag = true)
        {
            // 疑问？为什么不直接传入sep分隔符，而是要使用is_any_of呢？
            // is_any_of是一个谓词生成器，支持多个分隔符支持，is_any_of可以同时分割具有多个分隔符的字符串
            flag ? boost::split(*res, prev, boost::is_any_of(sep), boost::algorithm::token_compress_on) : boost::split(*res, prev, boost::is_any_of(sep), boost::algorithm::token_compress_off);
            return res->size();
        }
    };
}

